package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import conexion.BBDD;

import dao.interfaces.IUsuarioDAO;
import dto.UsuarioDTO;

public class UsuarioDAO implements IUsuarioDAO{
		
		public List<UsuarioDTO> selectAll() throws SQLException{
			List<UsuarioDTO> lista = new ArrayList<UsuarioDTO>();
			Connection c = BBDD.abrirConexion();
			String sql = "SELECT * FROM usuario ;";
			PreparedStatement pr = c.prepareStatement(sql);
			ResultSet rs = pr.executeQuery();
			while(rs.next()){
				UsuarioDTO usuario = new UsuarioDTO();
				usuario.setPid(rs.getInt("pid"));
				usuario.setNombreUsuario(rs.getString("nombre_usuario"));
				usuario.setContrasena(rs.getString("contrasena"));
				usuario.setEmail(rs.getString("email"));
				lista.add(usuario);
			}
			BBDD.cerrarConexion(c);
			return lista;
		}
		
		public UsuarioDTO compruebaUsuarioByName(String nombreUsuario) throws SQLException{
			UsuarioDTO usuario = new UsuarioDTO();
			Connection c = BBDD.abrirConexion();
			String sql = "SELECT * FROM usuario WHERE nombre_usuario='"+nombreUsuario+"';";
			PreparedStatement pr = c.prepareStatement(sql);
			ResultSet rs = pr.executeQuery();
			if(rs.next()){
				usuario.setPid(rs.getInt("pid"));
				usuario.setNombreUsuario(rs.getString("nombre_usuario"));
				usuario.setContrasena(rs.getString("contrasena"));
				usuario.setEmail(rs.getString("email"));
			}
			BBDD.cerrarConexion(c);
			return usuario;
		}
}
